﻿using Mes.Pendant.UnitMeasures.Dto;
using Mes.Pendant.Warehousesettings.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Mes.Pendant.WarehousesettingServicess
{
    public interface IWarehousesettings : ICrudAppService<WarehousesettingDto, int, PagedResultRequestDto, WarehousesettingDto>
    {
        
        /// <summary>
        /// 获取仓库
        /// </summary>
        /// <param name="code"></param>
        /// <param name="name"></param>
        /// <param name="isEffective"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        Task<PagedResult> WarehousesettingList(string? codes, string? name, int page, int limit);

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="warehousesettingDto"></param>
        /// <returns></returns>
        Task<int> CreateWarehousesetting(WarehousesettingDto warehousesettingDto);

        /// <summary>
        /// 编辑
        /// </summary>
        /// <param name="warehousesettingDto"></param>
        /// <returns></returns>
        Task<int> UpdateWarehousesetting(WarehousesettingDto warehousesettingDto);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> DeleteWarehousesetting(int id);

        /// <summary>
        /// 根据id获取数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<WarehousesettingDto> GetWarehousesettingById(int id);
    }
}
